define(['jquery'], function () {

	/**
	 * 检查新增时填写的代码是否已存在
	 * @params name=> 名称， project, bunk, brand等
	 */
	function bindCheck (name) {

		var elem = $('input[name="'+ name +'_code"]');
		elem.attr('data-error', '0'); // 0 表示该代码可用， 1表示不可用

		elem.on('change', function () {
			if (this.value == '') return;

			var arr = name.split('');
			arr[0].toUpperCase();

			var errHtml = '<label id="project_code-error" class="error" for="project_code" style="display: none;">代码已存在</label>',
				url = '/Business/' + arr.join('') + '/checkCode',
				data = {},
				_this = $(this);

			$(this).after(errHtml);

			data[name + '_code'] = $(this).val();
			data[name + '_id'] = $('input[name="'+ name +'_id"]').val();

			$.post(url, data, function (json) {
				json = JSON.parse(json);
				if (json.code != 1) {
					_this.removeClass('valid').addClass('error').data('error', 1);
					_this.next().html('代码已存在').css({'display': 'inline-block'});

				} else {
					_this.data('error', 0);
				}
			});

		});
	}

	/**
	 * 表单提交前确认代码是否可用
	 */
	function checkError (name) {
		var elem = $('input[name="'+ name +'_code"]');
		if (elem.data('error') == 1) {
			elem.focus().removeClass('valid').addClass('error').data('error', 1);
			elem.next().html('代码已存在').css({'display': 'inline-block'});
			return false;
		}else{
			return true;
		}
	}

	return {
		bindCheck: bindCheck,
		checkError: checkError
	};
});